import md5 from 'js-md5';

function utils() {}
// 获取MD5加密后的sign
utils.GetSign = params => {
	var arr = [];
	params.signkey = 'Uksp46423dfsd';
	var i = 0;
	for (var key in params) {
		arr[i++] = key;
	}
	var sortArr = arr.sort();
	var res = '';
	for (var key in sortArr) {
		if (typeof(params[sortArr[key]]) == 'object') {
			res += sortArr[key] + '=' + JSON.stringify(params[sortArr[key]]) + '&';
		} else {
			res += sortArr[key] + '=' + params[sortArr[key]] + '&';
		}
	}
	res = res.substr(0, res.length - 1);
	// 加密的字符串需要先去空格
	const sign = md5(res.replace(/\s+/g, "")).toLocaleUpperCase();
	delete params.signkey;
	return sign;
};
// 获取当前时间戳
utils.GetTicks = () => {
	var dt = new Date();
	var t = dt.getTime() + Math.abs(dt.getTimezoneOffset()) * 60 * 1000;
	return t * 10000 + 621355968000000000;
};
// 传入日期，获取周几
utils.GetWeek = (d) => {
	return "星期" + "日一二三四五六 ".charAt(new Date(d).getDay())
};
// 获取当前日期(开发使用天数加一)
utils.GetDate = () => {
	var d = new Date(),
		month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : d.getMonth() + 1,
		// day = d.getDate() < 10 ? '0' + (d.getDate() + 1) : d.getDate();
		day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
	return d.getFullYear() + "年" + month + "月" + day + "日";
};

// 时间格式化，如果没有参数则返回当前日期
utils.NewDate = (p) => {
	var d = new Date(p ? p : new Date()),
		month = (d.getMonth() + 1) < 10 ? '0' + (d.getMonth() + 1) : d.getMonth() + 1,
		day = d.getDate() < 10 ? '0' + d.getDate() : d.getDate();
	return d.getFullYear() + "-" + month + "-" + day;
};
// 输出日志，方便统一管理
utils.Log = (message) => {
	if (process.env.NODE_ENV === 'development') {
		// 开发环境
		return console.log(message)
	} else {
		// 生产环境
		return
	}
};
// 数组去重
utils.Unique = (arr) => {
	return Array.from(new Set(arr));
};
// 用户提示: 共两个参数，参数一：通知内容。参数二：布尔值（true、false）true时会返回到上个页面
utils.Msg = (msg, isBoolean) => {
	uni.showModal({
		title: '提示',
		content: msg,
		showCancel: false,
		success: function(res) {
			if (res.confirm && isBoolean) {
				uni.navigateBack({});
			} else if (res.cancel) {
				// console.log('用户点击取消');
			}
		}
	});
};
//获取今天明天后天
// utils.GetToday = () => {
// 	var dates = new Date();
// 	var year = dates.getFullYear();
// 	var month = dates.getMonth() + 1;
// 	var day = dates.getDate();
// 	var nextDay = dates.getDate() + 1;
// 	var dayAfter = dates.getDate() + 2;
// 	if (month < 10) {
// 		month = '0' + month;
// 	}
// 	if (day < 10) {
// 		day = '0' + day;
// 	}
// 	if (nextDay < 10) {
// 		nextDay = '0' + nextDay;
// 	}
// 	if (dayAfter < 10) {
// 		dayAfter = '0' + dayAfter;
// 	}
// 	var nowDate = year + '-' + month + '-' + day;
// 	var tomorrow = year + '-' + month + '-' + nextDay;
// 	var afterDay = year + '-' + month + '-' + dayAfter;

// };
export default {
	utils
}
